This application relates generally to the field of disaster recovery. More specifically, the disclosure provided herein relates to dynamically updating a domain name server in a disaster recovery environment.
A typical disaster recovery configuration may include a first geographic location and a second geographic location. The first geographic location may include one or more server computers, including a first server computer having a first database. The second geographic location may also include one or more server computers, including a second server computer having a second database. The first database and the second database may be redundant databases that store the same information. While the first server computer may be active, the second server computer may be on standby. For example, when a remote end user requests access to the information, the first server computer may handle the request via the first database. When the information in the first database changes, the first server computer may propagate those changes to the second server computer, which updates the second database. In this way, the second database may serve as redundant storage for the information.
In an example disaster recovery scenario, the first server computer may fail. When the first server computer fails, the second server computer may take over handling requests to access the information. That is, the first server computer may become inactive, while the second server may become active. Thus, when the remote end user requests access to the information, the second server computer may handle the request via the second database.
The end user may request initially access to the first server computer via a first server location, such as an Internet Protocol (“IP”) address or a domain name, associated with the first server computer. The end user may determine that the first server computer has failed when the first server computer does not respond after a certain amount of time. The end user may then request access to the second server computer via a second server location associated with the second server computer. In this scenario, the end user may be responsible for having knowledge of the first server location and the second server location. The end user may also be responsible for determining whether the first server computer has failed and manually transitioning to the second server computer when the first server computer fails. Placing such responsibilities on the end user can be frustrating, tedious, and time-consuming for the end user.